import os
import sys
from app import create_app
from extensions import db
from models import User, Coach, Course, Activity, Post, Booking

def reset_database(confirm=True):
    """
    重置数据库：删除所有表并重新创建
    
    参数:
        confirm (bool): 是否需要用户确认。默认为True，设置为False时将自动执行而不询问。
    """
    app = create_app()
    
    with app.app_context():
        print("开始重置数据库...")
        
        # 确认操作
        if confirm:
            confirm_input = input("此操作将删除数据库中的所有表并重新创建。确定要继续吗？(y/n): ")
            if confirm_input.lower() != 'y':
                print("操作已取消")
                return
        
        try:
            # 删除所有表
            print("正在删除所有表...")
            db.drop_all()
            print("所有表已删除")
            
            # 重新创建所有表
            print("正在创建新表...")
            db.create_all()
            print("所有表已创建成功")
            
            print("数据库重置完成！")
            return True
        except Exception as e:
            print(f"重置数据库时出错: {e}")
            sys.exit(1)

if __name__ == "__main__":
    reset_database() 